home *** CD-ROM | disk | FTP | other *** search
-
- KILL(2) UNIX Programmer's Manual KILL(2)
-
- NNAAMMEE
- kkiillll - send signal to a process
-
- SSYYNNOOPPSSIISS
- ##iinncclluuddee <<ssiiggnnaall..hh>>
-
- _i_n_t
- kkiillll(_p_i_d___t _p_i_d, _i_n_t _s_i_g)
-
- DDEESSCCRRIIPPTTIIOONN
- The kkiillll() function sends the signal given by _s_i_g to _p_i_d, a process or a
- group of processes. _S_i_g may be one of the signals specified in sigac-
- tion(2) or it may be 0, in which case error checking is performed but no
- signal is actually sent. This can be used to check the validity of _p_i_d.
-
- For a process to have permission to send a signal to a process designated
- by _p_i_d, the real or effective user ID of the receiving process must match
- that of the sending process or the user must have appropriate privileges
- (such as given by a set-user-ID program or the user is the super-user).
- A single exception is the signal SIGCONT, which may always be sent to any
- descendant of the current process.
-
- If _p_i_d is greater than zero:
- _S_i_g is sent to the process whose ID is equal to _p_i_d_.
-
- If _p_i_d is zero:
- _S_i_g is sent to all processes whose group ID is equal to the pro-
- cess group ID of the sender, and for which the process has per-
- mission; this is a variant of killpg(2).
-
- If _p_i_d is -1:
- If the user has super-user privileges, the signal is sent to all
- processes excluding system processes and the process sending the
- signal. If the user is not the super user, the signal is sent to
- all processes with the same uid as the user excluding the process
- sending the signal. No error is returned if any process could be
- signaled.
-
- For compatibility with System V, if the process number is negative but
- not -1, the signal is sent to all processes whose process group ID is
- equal to the absolute value of the process number. This is a variant of
- killpg(2).
-
- RREETTUURRNN VVAALLUUEESS
- Upon successful completion, a value of 0 is returned. Otherwise, a value
- of -1 is returned and _e_r_r_n_o is set to indicate the error.
-
- EERRRROORRSS
- KKiillll() will fail and no signal will be sent if:
-
- [EINVAL] _S_i_g is not a valid signal number.
-
- [ESRCH] No process can be found corresponding to that specified by
- _p_i_d.
-
- [ESRCH] The process id was given as 0 but the sending process does
- not have a process group.
-
- [EPERM] The sending process is not the super-user and its effective
- user id does not match the effective user-id of the receiv-
- ing process. When signaling a process group, this error is
- returned if any members of the group could not be signaled.
-
- SSEEEE AALLSSOO
- getpid(2), getpgrp(2), killpg(2), sigaction(2)
-
- SSTTAANNDDAARRDDSS
- The kkiillll() function is expected to conform to IEEE Std1003.1-1988
- (``POSIX'').
-
- 4th Berkeley Distribution April 19, 1994 2
-